package com.maple.retry.retrytask.enums;

import org.apache.commons.lang3.StringUtils;

/**
 * @author: maple
 * @version: RetryTaskTypeEnum.java, v 0.1 2020年12月28日 15:19 maple Exp $
 */
public enum RetryTaskTypeEnum {

    /**
     * send sms retry task
     */
    RETRY_TASK_SEND_SMS("RETRY_TASK_SEND_SMS", "send sms retry task"),

    ;

    /**
     * 任务类型码
     */
    private String code;

    /**
     * 任务描述
     */
    private String desc;

    /**
     * @param code 类型码
     * @param desc 描述
     */
    private RetryTaskTypeEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 根据code返回对应枚举
     *
     * @param code 任务类型码
     * @return 返回对应枚举
     */
    public static RetryTaskTypeEnum getByCode(String code) {
        for (RetryTaskTypeEnum item : values()) {
            if (StringUtils.equals(item.getCode(), code)) {
                return item;
            }
        }
        return null;
    }

    /**
     * Getter method for property <tt>code</tt>.
     *
     * @return property value of code
     */
    public String getCode() {
        return code;
    }

    /**
     * Getter method for property <tt>desc</tt>.
     *
     * @return property value of desc
     */
    public String getDesc() {
        return desc;
    }
}
